From: Florian Müllner Date: Tue, 21 Jan 2020 15:36:56 +0000 (+0100) Subject: dateMenu: Bind pad visibility to indicator X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~144 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=aba3336b51dcb029acc856377db3c952b2c8a8a6;p=gnome-shell.git dateMenu: Bind pad visibility to indicator Currently the indicator pad requests a size of 0x0 if the corresponding indicator is hidden. Right now this is enough to balance out the indicator, but it won't be when we add spacing to the parent container. Properly hide the pad with the indicator to avoid that issue. https://gitlab.gnome.org/GNOME/gnome-shell/issues/239 --- diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index 1fd6ccdbc..690d30f4b 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -473,21 +473,19 @@ var IndicatorPad = GObject.registerClass( class IndicatorPad extends St.Widget { _init(actor) { this._source = actor; - this._source.connect('notify::visible', () => this.queue_relayout()); this._source.connect('notify::size', () => this.queue_relayout()); super._init(); + this._source.bind_property('visible', + this, 'visible', + GObject.BindingFlags.SYNC_CREATE); } vfunc_get_preferred_width(forHeight) { - if (this._source.visible) - return this._source.get_preferred_width(forHeight); - return [0, 0]; + return this._source.get_preferred_width(forHeight); } vfunc_get_preferred_height(forWidth) { - if (this._source.visible) - return this._source.get_preferred_height(forWidth); - return [0, 0]; + return this._source.get_preferred_height(forWidth); } });